package com.tenton.service;

import com.tenton.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Date: 2021/1/13
 * @Author: Tenton
 * @Description:
 */
public interface UserService {
    /**
     * 添加用户
     * @param user
     * @return
     */
    int insertUser(User user);

    /**
     * 删除用户
     * @param id
     * @return
     */
    int deleteUser(int id);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    boolean updateUser(User user);

    /**
     * 查询，用于验证MySQL表中是否拥有该用户
     * @param userName
     * @param password
     * @return
     */
    User getUser(String userName,String password);

    /**
     * 查询所有用户信息
     * @return
     */
    List<User> listUser();

    /**
     * 通过用户名查询用户
     * @param userName
     * @return
     */
    List<User> listUserByUserName(String userName);

    /**
     * 通过用户名查询用户
     * @param id
     * @return
     */
    User getUserById(@Param("id") int id);

    /**
     * 添加日志到redis
     * @param username
     * @param time
     * @param action
     */
    void addRedisLog(String username,String time,String action);

    /**
     * 读取redis里面的日志信息
     * @param username
     * @return
     */
    Map<String, String> listRedisLog(String username);
}
